Q. 순수 함수의 규칙과 사용하는 이유에 대해서 설명해 주세요.
🧑🏻💻 Answer.
✅ 정의
- 순수 함수는 입력에 대해 항상 동일한 출력을 반환하는 함수입니다.
✅ 순수 함수 만족조건
동일한 입력에 대해 항상 동일한 출력을 반환해야 합니다.
외부 상태를 변경하거나 외부 데이터에 의존해서는 안 됩니다. (no side effects)
부작용이 없어야 합니다. 즉, 함수 호출로 인해 시스템의 상태가 변하지 않아야 합니다.
→ 예를 들면 전역변수를 재할당하거나, DOM을 편집하거나,
console.log
처럼 로그를 찍거나,new Date()
와 같이 시간에 의존하면 안됩니다.
✅ 사용하는 이유
순수 함수는 예측 가능성이 높습니다. 동일한 입력을 주면 항상 동일한 결과를 얻을 수 있어 버그를 줄이고 코드를 이해하기 쉽게 만듭니다. 이는 테스트 및 디버깅을 수월하게 해줍니다.
순수 함수는 재사용성이 높습니다. 다른 부분에서 쉽게 재사용할 수 있으며, 라이브러리로 공유하기에 좋습니다.